-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Sanitizers target modificators #138736
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Sanitizers target modificators #138736
Conversation
This comment has been minimized.
This comment has been minimized.
7526d38
to
0777169
Compare
This comment has been minimized.
This comment has been minimized.
0777169
to
f454b02
Compare
This comment has been minimized.
This comment has been minimized.
f454b02
to
509e0b3
Compare
This comment has been minimized.
This comment has been minimized.
509e0b3
to
1f20a51
Compare
This comment has been minimized.
This comment has been minimized.
1f20a51
to
fc95e77
Compare
This comment has been minimized.
This comment has been minimized.
e025a55
to
c54dcfc
Compare
☔ The latest upstream changes (presumably #138974) made this pull request unmergeable. Please resolve the merge conflicts. |
r? compiler |
Do we have any tests that check simultaneous use of multiple sanitizers? For example, if I enable both shadow-call-stack and kcfi at the same time, then both must also be enabled in deps. |
@rustbot claim |
@@ -0,0 +1,7 @@ | |||
//@ no-prefer-dynamic |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: Should test file names be separated by hyphen ('-') instead?
Unfortunately, I don't think we do at this moment. (Others feel free to correct me if I'm wrong.) Something somewhat related that I also wanted us to have that we don't at the moment is build |
c54dcfc
to
3d27c96
Compare
Renamed '_' to '-' in tests, added test with safestack + kcfi sanitizers. Btw, which target supports both kcfi and shadow-call-stack in the example? About |
This comment has been minimized.
This comment has been minimized.
…t modifiers with custom consistency check function
3d27c96
to
280dfab
Compare
Thank you for working on this! Much appreciated. AFAIK, the closest is aarch64_linux_android, which supports ShadowCallStack and CFI (not KCFI, but most of the implementation is shared). I think @Darksonn was referring more generally about testing sanitizers that should be compatible or possible to be used together (which I think we should do as well).
No worries. This was not meant to be implemented in this PR. I've started a conversation on Zulip so we could discuss and plan this: #t-infra > Running core and std tests with sanitizers. Let me know if you are interested in helping out with it. |
@bors r+ |
…modificators, r=rcvalle Sanitizers target modificators Depends on bool flag fix: rust-lang#138483. Some sanitizers need to be target modifiers, and some do not. For now, we should mark all sanitizers as target modifiers except for these: AddressSanitizer, LeakSanitizer For kCFI, the helper flag -Zsanitizer-cfi-normalize-integers should also be a target modifier. Many test errors was with sanizer flags inconsistent with std deps. Tests are fixed with `-C unsafe-allow-abi-mismatch`.
Rollup of 15 pull requests Successful merges: - rust-lang#138736 (Sanitizers target modificators) - rust-lang#140260 (Only prefer param-env candidates if they remain non-global after norm) - rust-lang#140523 (Better error message for late/early lifetime param mismatch) - rust-lang#140579 (Remove estebank from automated review assignment) - rust-lang#140641 (detect additional uses of opaques after writeback) - rust-lang#140711 (Do not discard constraints on overflow if there was candidate ambiguity) - rust-lang#140716 (Improve `-Zremap-path-scope` tests with dependency) - rust-lang#140755 ([win][arm64] Disable various DebugInfo tests that don't work on Arm64 Windows) - rust-lang#140756 ([arm64] Pointer auth test should link with C static library statically) - rust-lang#140758 ([win][arm64] Disable MSVC Linker 'Arm Hazard' warning) - rust-lang#140759 ([win][arm64] Disable std::fs tests that require symlinks) - rust-lang#140762 (rustdoc-json: Remove newlines from attributes) - rust-lang#140764 (style: Never break within a nullary function call `func()` or a unit literal `()`) - rust-lang#140769 (Add `DefPathData::OpaqueLifetime` to avoid conflicts for remapped opaque lifetimes) - rust-lang#140773 (triagebot: Better message for changes to `tests/rustdoc-json`) r? `@ghost` `@rustbot` modify labels: rollup
⌛ Testing commit 280dfab with merge 63e001aa2571a1f582cfc7d689c35a80a34fadec... |
…dificators, r=rcvalle Sanitizers target modificators Depends on bool flag fix: rust-lang#138483. Some sanitizers need to be target modifiers, and some do not. For now, we should mark all sanitizers as target modifiers except for these: AddressSanitizer, LeakSanitizer For kCFI, the helper flag -Zsanitizer-cfi-normalize-integers should also be a target modifier. Many test errors was with sanizer flags inconsistent with std deps. Tests are fixed with `-C unsafe-allow-abi-mismatch`.
The job Click to see the possible cause of the failure (guessed by this bot)
|
💔 Test failed - checks-actions |
Depends on bool flag fix: #138483.
Some sanitizers need to be target modifiers, and some do not. For now, we should mark all sanitizers as target modifiers except for these: AddressSanitizer, LeakSanitizer
For kCFI, the helper flag -Zsanitizer-cfi-normalize-integers should also be a target modifier.
Many test errors was with sanizer flags inconsistent with std deps. Tests are fixed with
-C unsafe-allow-abi-mismatch
.